﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;


namespace ASKY
{
    public partial class crearusuario : Form
    {
        OleDbConnection con;
        OleDbDataReader dr;
        string tipoadmin = "noadmin", usuario = "", contrasena = "",userchk="",usuariodb="";
         bool exist = false;
       

        public crearusuario()
        {
            con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Joe\Dropbox\UNIVA\OCTAVO\DESARROLLO ORIENTADO A OBJETOS\ASKY\ASKY\ASKY\usuarios.accdb");
            InitializeComponent();
        }

        private void crearusuario_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'usuariosDataSet1.db_usuarios' table. You can move, or remove it, as needed.
            //this.db_usuariosTableAdapter1.Fill(this.usuariosDataSet1.db_usuarios);
            

        }

        private void crear_usuario_btn_Click(object sender, EventArgs e)
        {
            Crear_Usuario();
        }
        private void crea_admin_check_CheckedChanged(object sender, EventArgs e)
        {
        if (crea_admin_check.Checked)
            tipoadmin="admin";
        }

        private void button1_Click(object sender, EventArgs e)
        {
                 
            
            crea_usuario_box.Clear();
            crea_contrasena_box.Clear();
            crea_usuario_box.Focus();
        }


        public void Crear_Usuario() 
        {
          
            
            if (crea_usuario_box.Text != "" & crea_contrasena_box.Text != "")
            {
                try
                {
                    userchk = crea_usuario_box.Text;
                    string f = "SELECT Nombre FROM db_usuarios WHERE Nombre = '"+userchk+"'";
                    OleDbCommand com = new OleDbCommand(f, con);
                    com.Connection.Open();
                    dr = com.ExecuteReader();

                    while (dr.Read())
                    {
                        usuariodb = dr.GetString(0).ToString();

                        //MessageBox.Show("usuario leido " + usuariodb);
                    }
                    
                    
                    com.Connection.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    con.Close();

                }
                  if (usuariodb == userchk)
                    MessageBox.Show("Usuario existente");
                  else {  
                try
                {
                    contrasena = crea_contrasena_box.Text;
                    usuario = crea_usuario_box.Text;
                    string c = "INSERT INTO db_usuarios (Nombre, Contrasena, Tipo) VALUES (@usuario,@contransena,@tipoadmin)";
                    OleDbCommand comando = new OleDbCommand(c, con);

                    comando.Parameters.Add(new OleDbParameter("@usuario", OleDbType.VarChar));
                    comando.Parameters["@usuario"].Value = usuario;
                    comando.Parameters.Add(new OleDbParameter("@contrasena", OleDbType.VarChar));
                    comando.Parameters["@contrasena"].Value = contrasena;
                    comando.Parameters.Add(new OleDbParameter("@tipoadmin", OleDbType.VarChar));
                    comando.Parameters["@tipoadmin"].Value = tipoadmin;

                    comando.Connection.Open();
                    comando.ExecuteNonQuery();
                    comando.Connection.Close();
                    MessageBox.Show("Usuario creado correctamente!");

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    con.Close();
                
                }
            }
                crea_usuario_box.Clear();
                crea_contrasena_box.Clear();

                }
            else
                MessageBox.Show("Faltan parametros");
        }

              
        
        }
    }
   
    

